package com.hzncc.scaffold.service;

import com.hzncc.scaffold.core.ResultT;
import com.hzncc.scaffold.entity.Other.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzncc.scaffold.entity.Vo.AddUserVo;
import com.hzncc.scaffold.entity.Vo.RegistStudentVo;
import com.hzncc.scaffold.entity.Vo.StudyListVo;
import com.hzncc.scaffold.entity.Vo.SubAdminVo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import javax.management.relation.RelationSupport;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author DrunkBear
 * @since 2022-04-27
 */
public interface UserService extends IService<User> {

    public ResultT addUser(AddUserVo addUserVo);

    ResultT addUserNoPhone(AddUserVo addUserVo);

    public Boolean checkPhone(String telephone);

    public ResultT importUser(MultipartFile file, Integer type);

    public ResultT importUserToClass(MultipartFile file, Integer classId);

    public ResultT registStudent(RegistStudentVo registStudentVo);

    public StudyListVo studyList(Integer pageNum, Integer pageSize, Integer courseId, Integer classId, String keyword) throws InvocationTargetException, IllegalAccessException;

    public List<SubAdminVo> listSubAdmin(Integer pageNum, Integer pageSize, String keyword);

}
